<?php
require_once 'RegistrerView.php';
require_once 'ProductView.php'; // ----------------------------------Behövs EJ------------------------
require_once 'TextStringOutput.php';
require_once 'ShopBasketView.php';

class LoginView {

	//Konstant för att slippa upprepa username osv.
	const UserName = "username";
	const Password = "password";
	const CheckBox = "autologin";
	const RegisterButton = "registreramig";
	const LogoutButton = "loggaut";
	const DeleteUserButton = "delete";
	//Cookies
	const CookieName = "cookiename";
	const CookiePassword = "cookiepassword";
	

	//Skriver ut xhtml-logginformuläret (Första sidan)
 	public function DoLoginBox() {
 		$message = "";
		//UsernameValue är för att sätta användarnamnet i användarfältet vid lyckad registrering
		$userNameValue = "";
		if(isset($_GET['username'])){
			$userNameValue = $_GET['username'];
		}
 		
 		// Om get har "hängt" på succes i url'en
 		if (isset($_GET['success'])){
 			$message =TextStringOutput::LyckadRegistrering;
 		}
		return "
		<div id='header'>
			$message
			<div id='titleDiv'>
				<img src='pics/figures4you.png' alt='Loggo' class='logga' />
			</div>
			<div id='regDiv'>
			<form action='' method='post'>
				<a href='?". LoginView::RegisterButton ."=". LoginView::RegisterButton ."'/>Registrera Er</a>
			</form>
			</div>
		</div>
			<div id='content'>
				<div id='loginbox'>
					<form action='?in=in' method='post'>
						<fieldset>
							<legend>
								Ange användarnamn och lösenord
							</legend>
							<label for='uname'>Användarnamn:</label></br>
							<input type='text' name='" . LoginView::UserName . "' value='$userNameValue' id='uname'/>
							<br />
							<label for='passwrd'>Lösenord:</label></br>
							<input type='password' name='" . LoginView::Password . "' id='passwrd'/>
							<br />
							<input type='checkbox' name='" . LoginView::CheckBox . "' value='1' id='check'/>
							<label for='check'>Håll mig inloggad</label>
							<br />
							<input type='submit' value='Logga in' class='button' name='submit'/>
						</fieldset>
					</form>
				</div>
			</div>
			
		<div id='footer'>
			<p>&copy Klas Lundin 2011 | <a href='http://klaslundin.se/swain' class='greyLink'>I samarbete med Swain
			</a> | Figures4You använder cookies | <a href='http://klaslundin.se' class='greyLink'>Om oss
			</a> |<a href='http://homepage.lnu.se/student/kl222bm/javascript/memory/index.html' class='greyLink'> Prova Star Wars-Memory</a> | </p>
		</div>"
	;}

	//Skriver ut inloggadvyn med lista av kategorier och logout-knappen samt avregistreraknappen
	//Borde för guds skull heta något annat----------Typ MasterView.........------------------------
	public function DoLogoutBox(ProductHandler $ph, ShopBasketHandler $sbh, $MenuAndContent) {
					
			//INTE snyggt förstår jag....
			// hämtar pk från tabellen user och skickar med DoLogoutBox
			$user= $_SESSION["user"];
			$userId = $user->pk;
			//välkomsttext
			$messageWelcome="";
			
			$ProductView = new ProductView(); //----------------------------Behövs EJ!--------------------
			$shopBasketView = new ShopBasketView();
			
			// om jag loggar in med rätt uppgifter hälsas jag välkommen
			if(isset($_POST[LoginView::UserName])) {
				$messageWelcome =  TextStringOutput::Welcome . ucfirst($_POST[LoginView::UserName]);
			}
			
			// Om cookien är satt och jag kommer tillbaka
			if(isset($_COOKIE[LoginView::CookieName])) {
				$messageWelcome = TextStringOutput::Welcome . ucfirst($_COOKIE[LoginView::CookieName]);
			}
			
		return "
	<div id='header'>
			<div id='titleDiv'>
				<img src='pics/figures4you.png' alt='Loggo' class='logga' />
			</div>
			
		<div id='regDiv'>
				<form 'action='?tabort=tabort' method='post' id='deletebutton'>	
					<input type='submit' onclick='return show_confirm()' value='Avregistrera erat konto' name='" . LoginView::DeleteUserButton ."' />
				</form>
		</div>
	</div>
	<div id='content'>
				$messageWelcome
				". TextStringOutput::WeeklyCite() ."
				". $shopBasketView->DoShopBasket($ph, $sbh, $userId) . "
				". $MenuAndContent ."
		<form action='?ut=ut' method='post'>
	         <input type='submit' value='Logga ut' class='button' name='" . LoginView::LogoutButton ."'/>
	    </form>
	</div>
		<div id='footer'>
			<p>&copy Klas Lundin 2011 | <a href='http://klaslundin.se/swain' class='greyLink'>I samarbete med Swain
			</a> | Figures4You använder cookies | <a href='http://klaslundin.se' class='greyLink'>Om oss
			</a> |<a href='http://homepage.lnu.se/student/kl222bm/javascript/memory/index.html' class='greyLink'> Prova Star Wars-Memory</a> | </p>
		</div>";
	}
	

	// Kollar och returnerar användarnamn
	public function GetUserName() {
		if (isset($_POST[LoginView::UserName])) {
			return ($_POST[LoginView::UserName]);

			//Annars kollar och returnerar Cookie-användarnamn
		} else if (isset($_COOKIE[LoginView::CookieName])) {
			//returnera cookie-användarnamn;
			return $_COOKIE[LoginView::CookieName];
		}
		return NULL;
	}
	
	// Kollar lösenord och returnerar lösenord
	public function GetPassword() {
		if (isset($_POST[LoginView::Password])) {
			return ($_POST[LoginView::Password]);

			//Annars kollar och returnerar Cookie-lösenord
		} else if (isset($_COOKIE[LoginView::CookiePassword])) {
			//returnera cookielösenord;
			return $_COOKIE[LoginView::CookiePassword];
		}
		return NULL;
	}

	//Hämtar infon från användarnamn och lösen
	public function TriedToLogin() {
		if (isset($_POST["submit"]) && isset($_POST[LoginView::UserName]) && isset($_POST[LoginView::Password])) {
			return TRUE;

			//Annars kollar Cookie-användarnamn och Cookielösenord
		} else if (isset($_COOKIE[LoginView::CookieName]) && isset($_COOKIE[LoginView::CookiePassword])) {
			return TRUE;
		}
	}

	//Trycker vi på logout
	public function TriedToLogOut() {
		if (isset($_POST[LoginView::LogoutButton])) {
			return TRUE;
		}
		return FALSE;
	}
	
	public function TriedToDelete() {
		if (isset($_POST[LoginView::DeleteUserButton])) {
			return TRUE;
		}
		return FALSE;
	}

	public function RememberMeAndSetCookie() {	
		//Ny sträng
		$stringWelcomeBack = "<p id='textString'</p>";
		//$stringWelcome = "<p id='textString'</p>";

		//Om checkboxen är ikryssad...
		if (isset($_POST[LoginView::CheckBox])) {
			setcookie(LoginView::CookieName, $_SESSION[LoginView::UserName], time() + 2592000, "/");
			setcookie(LoginView::CookiePassword, $_SESSION[LoginView::Password], time() + 2592000, "/");
		}
	}

	//Delete Cookie
	public function DeleteCookie() {
		if (isset($_COOKIE[LoginView::CookieName]) && isset($_COOKIE[LoginView::CookiePassword])) {
			setcookie(LoginView::CookieName, "", time() - 2592000, "/");
			setcookie(LoginView::CookiePassword, "", time() - 2592000, "/");

			unset($_COOKIE[LoginView::CookieName]);
			unset($_COOKIE[LoginView::CookiePassword]);
		}

	}

}
